1. Field of the Invention
The present invention pertains to computer graphics systems.
2. Problem to be Solved
In many computer graphic systems, such as Graphical User Interfaces (GUI), Computer Aided Design (CAD), Computer Aided Engineering (CAE) or Image Processing, multiple layers of display information are used. In particular, there is a main application layer or window and at least one overlay layer or window. Display information is presented in layers or windows defined by software. The overlay layer may be used to provide on-screen selection from a number of control options pertaining to the underlying main application layer. Common uses of overlay layers or windows include "Pop-Down Menus", "Help Menus", Control Panels and other data for providing information and control functions.
A computer graphics system generally comprises a Graphics Controller, Graphics Memory, and a Palette DAC. (The Palette DAC is sometimes referred to by such names as "RAMDAC" or as "LUT-DAC" or incorrectly as simply "DAC".) The computer graphics system is connected to the rest of the computer system over the System Bus. The Graphics Controller provides the interface of the computer graphics system to the System Bus. The Graphics Memory is loaded with graphics data supplied by or via the Graphics Controller. The graphics data stored in the Graphics Memory is provided to the Palette DAC, which processes and converts that graphics data, providing the results of that processing and conversion to the Display Device for presentation as a visual image.
The input to the Palette DAC typically comprises a serializer, which receives graphics data serially from the Graphics Memory. That data is typically several pixels wide and provided at a frequency that is some fraction of the display pixel frequency. The output of the serializer is typically one (1) pixel wide at full pixel frequency. The pixel frequency may be as high as 250 MHz and, in some special cases, much higher than 250 MHz. The output of the serializer is continuous and in synchronism with the Display Device. The output of the serializer satisfies the real time data needs of the Display Device. The output of the serializer typically contains at least two types of data: a Window Identifier (WID), and the pixel data for at least two display layers. The display layers will at least consist of a main display layer and an overlay display layer.
The WID is a pointer used to locate window attributes from a Window Attribute Table (WAT). The attributes are typically loaded into the WAT by software. The attributes define the format of the pixel data, the presence and number of display layers associated with that pixel data, how that pixel data is to be partitioned between the display layers, the type of processing to be applied to the pixel data of each display layer, and the criteria for the decision of which of the layers is to be displayed. The criteria for that decision may be based on a selection made directly within the attributes or be made dependent on the value of the pixel data (pixel-based criterion) within any given display layer. In all cases, at any given pixel location, only pixel data from the selected layer is displayed, and pixel data from all other layers will not be displayed and will be effectively obscured from view.
The pixel data outputted from the serializer is inputted into a processor which separates and formats the pixel data according to the window or pixel attributes stored in the WAT. As stated above, the window or pixel attributes determine which portions of the pixel data are to be associated with each display layer. After separation and formatting, an original color is assigned to the pixel location of each layer. The color assignment process can take any one of a number of forms including the use of Color Look-Up Tables, Direct Color Bypass, Algorithmic Conversion, or Color Space Conversion.
Typically, there are many pixel locations where an overlay layer and an underlying layer interact, i.e. the overlay layer and the underlying layer are defined by the same pixel locations. Since only one color value can be displayed at any one pixel location on the display screen, a multiplexer selects a color value of a pixel location from either the underlying layer or the overlaying layer. The multiplexer output is then inputted into a three (3) channel digital-to-analog-converter which converts the digital signal representing the selected color into three (3) analog signals representing the primary colors red, green and blue for use with a display device.
Thus, graphical information from either the underlying layer or the overlay layer is displayed on the display device. If the graphical information is selected from the underlying layer, then the overlay layer is said to be "transparent". If the graphical information is selected from the overlay layer, then the overlay layer is said to be "opaque". The overlay layers are typically rectangular in shape and are formed from solid colors. When an overlay layer is displayed over an underlying layer, the solid colors assigned to the pixel locations of the overlay layer are used to replace (on a per-pixel basis) the assigned colors to the pixel locations of the underlying layer. Thus, the solid colors of the overlay layer obstruct the user's view of the underlying layer. Typically, the underlying layer is often a main application display layer or window. Furthermore, the overlay layer or window often obstructs the main application window at the precise area to which the information provided by the overlay layer pertains. This feature has undesirable side-effects which cause inconvenience to the user, and also provide an uncomfortable aspect and feel to the user interface. Such negative aspects ultimately result in a reduction in user acceptance of the graphics system and degradation in productivity.
Thus, bearing in mind the aforementioned problem of conventional graphics systems, it is an object of the present invention to provide a graphics system that provides a user with a clear and unobstructed view to the graphic information provided by all the display layers.
It is another object of the present invention to provide a process for displaying at least two (2) display layers wherein the user is provided with a clear and unobstructed view to the information provided by both overlay and underlying display layers.